package pl.wroc.uni.ii.evolution.engine.operators.spacespecific.binaryvector.boa.bayesnetwork;

import pl.wroc.uni.ii.evolution.engine.EvPopulation;
import pl.wroc.uni.ii.evolution.engine.prototype.EvIndividual;

/**
 * 
 * @author Jarek Fuks, Zbigniew Nazimek
 *
 * Interface for Bayesian network.
 *
 */

public interface EvIBayesianNetwork<T extends EvIndividual>{
  public boolean addEdge(int from, int to);
  public boolean removeEdge(int from, int to);
  public int[] getParentsIndexes(int child_index);
  public T generate();
  public void initialize(EvPopulation<T> population);
  public int getSize();
  public EvIBayesianNetwork<T> clone();
}
